package cn.quevo.ucenter.client.service;

import cn.quevo.core.exception.CustomException;
import cn.quevo.ucenter.client.entity.TokenResponse;
import cn.quevo.ucenter.core.entity.User;

public interface ClientRestService {

    /**
     * PASSWORD 授权类型
     *
     * @param userName
     * @param password
     * @return
     * @author July july_sky@foxmail.com
     * @date 2018年3月28日 上午10:06:57
     */
    TokenResponse getTokenByPassword(String userName, String password);

    /**
     * 刷新Token
     *
     * @param refreshToken
     * @return
     * @throws CustomException
     * @author July july_sky@foxmail.com
     * @date 2018年3月28日 上午10:07:38
     */
    TokenResponse getTokenByRefresh(String refreshToken);

    /**
     * 根据Token获取用户信息
     *
     * @param token
     * @return
     * @throws CustomException
     * @author July july_sky@foxmail.com
     * @date 2018年3月28日 下午4:24:33
     */
    User getUserByToken(String token);
}
